package com.example.demo.service;

import com.example.demo.entity.AdminPermission;
import com.example.demo.entity.AdminRole;
import com.example.demo.entity.AdminUser;

import java.util.List;

/**
 * 管理员用户角色服务层接口
 *
 * @author 叮当猫的百宝箱
 * @since 1.0
 */
public interface AdminRoleService {

    /**
     * 根据管理员角色ID获取角色拥有的权限列表
     *
     * @param adminRoleId 管理员角色ID
     * @return 角色拥有的权限列表
     */
    List<AdminPermission> getAdminPermissionsById(Long adminRoleId);


    /**
     * 根据管理员角色ID获取拥有该角色的所有管理员用户列表
     *
     * @param adminRoleId 管理员角色ID
     * @return 拥有该角色的所有管理员用户列表
     */
    List<AdminUser> getAdminUserById(Long adminRoleId);

    /**
     * 获取全部角色列表
     *
     * @return 所有管理员角色列表
     */
    List<AdminRole> getAdminRoleList();
}
